.hbox {
    display: -webkit-box !important;
    display: -ms-box !important;
    display: -moz-box !important;
    display: box !important;
    display: -ms-flexbox !important;
    display: -webkit-flex !important;
    display: -moz-flex !important;
    display: -ms-flex !important;
    display: flex !important;
    -ms-box-orient: horizontal;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
}

.vbox {
    display: -webkit-box !important;
    display: -ms-box !important;
    display: -moz-box !important;
    display: box !important;
    display: -ms-flexbox !important;
    display: -webkit-flex !important;
    display: -moz-flex !important;
    display: -ms-flex !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -ms-box-orient: vertical;
    -moz-box-orient: vertical;
    box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

.hbox.hide, .vbox.hide{
    display:none !important;
}

.hbox.box-h-center {
    -webkit-box-pack: center;
    -ms-box-pack: center;
    -moz-box-pack: center;
    box-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.hbox.box-h-right-align {
    -webkit-box-pack: end;
    -ms-box-pack: end;
    -moz-box-pack: end;
    box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
}

.hbox.box-h-left-align {
    -webkit-box-pack: start;
    -ms-box-pack: start;
    -moz-box-pack: start;
    box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start -moz-justify-content:flex-start -ms-justify-content:flex-end;
    justify-content: flex-start;
}

.hbox.box-v-center {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.hbox.box-v-top-align {
    -webkit-box-align: start;
    -moz-box-align: start;
    -ms-box-align: start;
    box-align: start;
    -ms-flex-align: start;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    align-items: flex-start;
}

.hbox.box-v-bottom-align {
    -webkit-box-align: end;
    -moz-box-align: end;
    -ms-box-align: end;
    box-align: end;
    -ms-flex-align: end;
    -webkit-align-items: flex-end;
    -moz-align-items: flex-end;
    -ms-align-items: flex-end;
    align-items: flex-end;
}

.vbox.box-v-center {
    -webkit-box-pack: center;
    -ms-box-pack: center;
    -moz-box-pack: center;
    box-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.vbox.box-h-right-align {
    -webkit-box-align: end;
    -moz-box-align: end;
    -ms-box-align: end;
    box-align: end;
    -ms-flex-align: end;
    -webkit-align-items: flex-end;
    -moz-align-items: flex-end;
    -ms-align-items: flex-end;
    align-items: flex-end;
}

.vbox.box-h-left-align {
    -webkit-box-align: start;
    -moz-box-align: start;
    -ms-box-align: start;
    box-align: start;
    -ms-flex-align: start;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    align-items: flex-start;
}

.vbox.box-h-center {
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.vbox.box-v-top-align {
    -webkit-box-pack: start;
    -ms-box-pack: start;
    -moz-box-pack: start;
    box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start -moz-justify-content:flex-start -ms-justify-content:flex-end;
    justify-content: flex-start;
}

.vbox.box-v-bottom-align {
    -webkit-box-pack: end;
    -ms-box-pack: end;
    -moz-box-pack: end;
    box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
}

.hbox > .place-holder {
    width: 0;
}

.vbox > .place-holder {
    height: 0;
}


.vbox .scroll-panel, .place-holder {
    -webkit-box-flex: 1;
    -ms-box-flex: 1;
    -moz-box-flex: 1;
    box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-grow: 1;
    -moz-flex-grow: 1;
    flex-grow: 1;
    -ms-flex: 1;
    -webkit-flex-shrink: 1;
    -moz-flex-shrink: 1;
    -ms-flex-shrink: 1;
    flex-shrink: 1;
    display: block;
    width: auto;
    height: auto;
}

.vbox .scroll-panel {
    height: 0;
    overflow-y: scroll !important;
    -webkit-overflow-scrolling: touch !important;
}